package com.bjpowernode.mapper;

import com.bjpowernode.entity.Consumption;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 访问消费类型数据
 *
 * @author 刘逸晖
 */
public interface ConsumptionMapper {

    /**
     * 新增消费类型
     *
     * @param consumption 新增数据
     */
    void insertConsumption(Consumption consumption);

    /**
     * 查询所有一级消费类型
     *
     * @return 所有一级消费类型
     */
    List<Consumption> selectAllFirstConsumptions();

    /**
     * 根据 id 删除消费类型
     *
     * @param id 消费类型的 id
     */
    void deleteConsumptionById(@Param("id") Integer id);

    /**
     * 根据父级 id 删除消费记录
     *
     * @param level 父级 id
     */
    void deleteConsumptionsByLevel(@Param("level") Integer level);

    /**
     * 根据 id 查询消费类型
     *
     * @param id 消费类型的 id
     */
    Consumption selectConsumptionById(@Param("id") Integer id);

    /**
     * 根据 id 更新消费类型
     *
     * @param consumption id 极其新数据
     */
    void updateConsumptionById(Consumption consumption);

}
